package com.mjfeed.service;

import java.util.Set;

import com.mjfeed.dto.api.CartItemListJSON;
import com.mjfeed.entity.Cart;
import com.mjfeed.entity.CartItem;
import com.mjfeed.entity.Member;

/**
 * @description 购物车
 * @author zhaominglei
 * @date 2014年10月7日
 */
public interface CartService extends BaseService {
	/**
	 * 获取当前购物车
	 * 
	 * @return 当前购物车,若不存在则返回null
	 */
	Cart getCurrent();

	/**
	 * 合并临时购物车至会员
	 * 
	 * @param member
	 *            会员
	 * @param cart
	 *            临时购物车
	 */
	void merge(Member member, Cart cart);

	/**
	 * 清除过期购物车
	 */
	void evictExpired();
	
	/**
	 * 同步会员购物车
	 */
	Set<CartItem> sync(Member member, String cartData);
	
	/**
	 * search结果转json
	 */
	CartItemListJSON searchToJSON(Set<CartItem> cartItems);
	
	/**
	 * 更新会员购物车
	 */
	void update(Member member, String cartItemData);
	/**
	 * 删除会员购物车
	 */
	void delete(Member member, String cartItemData);
}
